//
// Created by lei.zhang on 2024/1/7.
//

#ifndef LASER_SCAN_H
#define LASER_SCAN_H

#include <memory>
#include "common/eigen_types.h"

namespace sad {

/// Laser 读数
struct LaserScan {  
    float angle_min; 
    float angle_max;        // end angle of the scan [rad]
    float angle_increment;  // angular distance between measurements [rad]
    float time_increment;   // time between measurements [seconds] 
    float scan_time;        // time between scans [seconds]
    float range_min;        // minimum range value [m]
    float range_max;        // maximum range value [m]
    std::vector<float> ranges;         // range data [m] (Note: values < range_min or > range_max should be discarded)
    std::vector<float> intensities;    // intensity data [device-specific units]. 
};
}  // namespace sad

using Scan2dPtr = std::shared_ptr<sad::LaserScan>;

#endif  // LASER_SCAN_H
